/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* E.P. Scene Graph Viewer
* Developed by:
*       - Eduardo Ribeiro (eribeiro @ tecgraf . puc-rio . br)
*       - Peter Dam (peter @ tecgraf . puc-rio . br)
* File: Application.h
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#ifndef _EPSGV_APPLICATION_
#define _EPSGV_APPLICATION_

#include "EPSGV/Prototypes.h"
#include <sigslot/sigslot.h>

namespace EPSGV
{
	class Application : public sigslot::has_slots<>
	{
	public:
		/* [CONSTRUCTOR] */	Application( int argc, char* args[] );
		void				execute();

		void				loadScene( EPSG::Scene* root );

		static void			updateView();

	private:
		static void			redraw();
		static void			keyboard( unsigned char key, int x, int y );
		static void			mouse( int button, int state, int x, int y );
		static void			motion( int x, int y );

		static EPSG::Scene*		s_root;
	};
}

#endif //_EPSGV_APPLICATION_